(figure out which regions to label)
index <- read.csv("data/scores_eez2018.csv") %>%
select(region_id, region_name, Index)
vaxis <- index$Index[index$region_id==0]
trend <- read.csv(sprintf("data/trends_%s.csv", scenario)) %>%
select(region_id, index_trend = Index) %>%
left_join(index, by= "region_id") %>%
filter(region_id != 0)
mod <- lm(index_trend ~ Index, data=trend)
summary(mod) # p value 0.015, adjusted R squared 0.022##
## Call:
## lm(formula = index_trend ~ Index, data = trend)
##
## Residuals:
## Min 1Q Median 3Q Max
## -2.54229 -0.38858 0.08531 0.46009 2.06282
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) -1.158572 0.360088 -3.217 0.00149 **
## Index 0.013122 0.005343 2.456 0.01484 *
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 0.7521 on 218 degrees of freedom
## Multiple R-squared: 0.02692, Adjusted R-squared: 0.02246
## F-statistic: 6.031 on 1 and 218 DF, p-value: 0.01484
p <- ggplot2::ggplot(trend, aes(x=Index, y=index_trend)) +
geom_point(aes(text=paste0("rgn = ", region_name)), shape=19, size=2, color="gray", alpha = 0.75) +
geom_hline(yintercept = 0, color="red", size=.5, linetype=3) +
geom_vline(xintercept = vaxis, color="red", size=.5, linetype=3) +
stat_smooth(method=lm, se=FALSE, color="black", size=0.5) +
theme_bw() +
labs(y="Average change in OHI score per year)", x="OHI score (2018)") ## Warning: Ignoring unknown aesthetics: text
plotly_fig <- plotly::ggplotly(p)
plotly_fig### adding labels: outliers, no change, etc
labels1 <- c("Eritrea", "Syria", "Equatorial Guinea", "Somalia", "Nicaragua", "Myanmar", "British Virgin Islands", "Georgia", "Pitcairn", "Liberia", "Sierra Leone")
labels2 <- c("Amsterdam Island and Saint Paul Island", "Kerguelen Islands")
## make sure region labels are spelled correctly
setdiff(labels1, trend$region_name)## character(0)
setdiff(labels2, trend$region_name)## character(0)
## add labels column, give NA to those without labels
trend <- trend %>%
mutate(label1 = ifelse(region_name %in% labels1, as.character(region_name), NA)) %>%
mutate(label2 = ifelse(region_name %in% labels2, as.character(region_name), NA))
p <- ggplot2::ggplot(trend, aes(x=Index, y=index_trend)) +
geom_point(shape=19, size=1.75, color="black", alpha = 0.5) +
geom_text(aes(label=label1), hjust=0, nudge_x=0.4, size=2.2) +
geom_text(aes(label=label2), vjust=0, nudge_y=0.1, nudge_x=-5, size=2.2) +
geom_point(data=filter(trend, region_name %in% label1), aes(x=Index, y=index_trend), shape=19, size=1.75, color="darkorange") +
geom_point(data=filter(trend, region_name %in% label2), aes(x=Index, y=index_trend), shape=19, size=1.75, color="darkorange") +
geom_hline(yintercept = 0, color="red", size=.2, linetype=3) +
geom_vline(xintercept = vaxis, color="red", size=.2, linetype=3) +
stat_smooth(method=lm, se=FALSE, color="black", size=0.3) +
theme_bw() +
labs(y="Average change in Index score per year", x="OHI score, 2018")
plot(p) ## Warning: Removed 209 rows containing missing values (geom_text).
## Warning: Removed 218 rows containing missing values (geom_text).
ggsave("figures/trend vs score.png", width=7.5, height=5, units=c("in"), dpi=600)## Warning: Removed 209 rows containing missing values (geom_text).
## Warning: Removed 218 rows containing missing values (geom_text).
ggsave("figures/trend vs score.tiff", width=6, height=4, units=c("in"), dpi=375)## Warning: Removed 209 rows containing missing values (geom_text).
## Warning: Removed 218 rows containing missing values (geom_text).
index_2018 <- read.csv("data/scores_eez2018.csv") %>%
filter(region_id != 0) %>%
select(-c(region_name, region_id)) %>%
select(-c(SPP, HAB, ECO, LIV, FIS, MAR, ICO, LSP, Index))
panel.cor <- function(x, y, digits=2, prefix="", cex.cor, ...){
usr <- par("usr"); on.exit(par(usr))
par(usr = c(0, 1, 0, 1))
r <- abs(cor(x, y, use="na.or.complete"))
txt <- format(c(r, 0.123456789), digits=digits)[1]
txt <- paste(prefix, txt, sep="")
if(missing(cex.cor)) cex.cor <- 0.8/strwidth(txt)
text(0.5, 0.5, txt, cex = (cex.cor * r + .15)*3)
}
pairs(index_2018,
lower.panel=panel.smooth, upper.panel=panel.cor,
pch=16, cex=.5)## export as "pairwise.png" into the folder "Results/figures" with 700 x 700 dimensions
#seeing ones were significant
# panel.cor <- function(x, y, digits=2, prefix="", cex.cor)
# {
# usr <- par("usr"); on.exit(par(usr))
# par(usr = c(0, 1, 0, 1))
# r <- abs(cor(x, y))
# txt <- format(c(r, 0.123456789), digits=digits)[1]
# txt <- paste(prefix, txt, sep="")
# if(missing(cex.cor)) cex <- 0.8/strwidth(txt)
#
# test <- cor.test(x,y)
# # borrowed from printCoefmat
# Signif <- symnum(test$p.value, corr = FALSE, na = FALSE,
# cutpoints = c(0, 0.001, 0.01, 0.05, 0.1, 1),
# symbols = c("***", "**", "*", ".", " "))
#
# text(0.5, 0.5, txt, cex = cex * r)
# text(.8, .8, Signif, cex=cex, col=2)
# }
# pairs(index_2018,
# lower.panel=panel.smooth, upper.panel=panel.cor)data <- read.csv(sprintf('../OHI_final_formatted_scores_%s.csv', saveDate))
data <- data %>%
filter(dimension == "score") %>% # focus only on score data
filter(region_id != 0) %>% # this weighted mean includes high seas and Antarctica
mutate(region_id = ifelse(region_id==300, 0, region_id)) %>% #convert the 300 (i.e., only eez's averaged to zero)
filter(region_id <= 250) %>% # get rid of high seas regions
filter(region_id != 213) %>% # get rid of antarctica
mutate(value = round(value, 0)) %>%
group_by(region_id) %>%
mutate(meanIndex=mean(value[goal=="Index"])) %>%
ungroup() %>%
data.frame()
trends <- read.csv(sprintf("data/trends_%s.csv", scenario)) %>%
gather(goal, "value", -(1:2)) %>%
select(-region_id, region_name = country) %>%
filter(region_name != "eez_weighted_avg")
## order regions by trend from decreasing to increasing (use in factor levels, below)
region_order <- trends %>%
filter(goal=="Index") %>%
arrange(value)
values <- brewer.pal(11, "RdYlBu")
col.values <- colorRampPalette(values, space = 'Lab')(12)
col.brks <- c(-100, -5, -4, -3, -2, -1, 0, 1, 2, 3, 4, 5, 100)
trends$goal <- factor(trends$goal, levels = goals)
trends$region_name <- factor(trends$region_name, levels=region_order$region_name)
trends$trend_category <- cut(trends$value, breaks = col.brks)
p <- ggplot(trends, aes(y=region_name, x=goal, fill=trend_category)) +
geom_tile(aes(text = paste0("trend = ", value))) +
scale_fill_manual(values = col.values, na.value="black") +
theme(axis.text.x = element_text(angle=90, vjust=0.5)) +
ylab("") +
xlab("") +
theme_bw()## Warning: Ignoring unknown aesthetics: text
plot(p)ggsave("figures/trend_heatplot.png", width = 20, height=25, units="in")
ggplotly(p)Plotting OHI scores against Human Development Index (HDI) and Cumulative Human Impact (CHI)
index <- read.csv("data/scores_eez2018.csv") %>%
select(rgn_id = region_id, region_name, Index) %>%
filter(rgn_id != 0)
## No HDI data in v2018 so grabbing it from v2017
hdi <- read.csv("https://raw.githubusercontent.com/OHI-Science/ohiprep_v2018/master/globalprep/supplementary_information/v2017/HDI_data.csv") %>%
select(rgn_id, hdi=X2015)
# coastal population
pop <- read.csv("https://raw.githubusercontent.com/OHI-Science/ohiprep_v2018/master/globalprep/mar_prs_population/v2018/output/mar_pop_25mi.csv") %>%
filter(year == 2018) %>%
select(rgn_id, coastal_pop = popsum) %>%
mutate(log_coastal_pop = log(coastal_pop + 1))
## No CHI data in v2018 so grabbing it from v2016
chi <- read.csv("https://raw.githubusercontent.com/OHI-Science/ohiprep_v2018/master/globalprep/supplementary_information/v2016/CHI_data.csv") %>%
filter(sp_type == "eez") %>%
select(rgn_id, chi=mean)
data <- index %>%
left_join(pop, by="rgn_id") %>%
left_join(chi, by="rgn_id") %>%
left_join(hdi, by="rgn_id")
data_noNA <- na.omit(data)
mod1 <- lm(Index ~ chi, data=data_noNA)
summary(mod1) # p-val=0.001, R2=0.065##
## Call:
## lm(formula = Index ~ chi, data = data_noNA)
##
## Residuals:
## Min 1Q Median 3Q Max
## -21.1316 -4.9666 0.3523 5.5230 17.8710
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 76.1736 3.9874 19.104 < 2e-16 ***
## chi -3.3008 0.9925 -3.326 0.00112 **
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 8.025 on 143 degrees of freedom
## Multiple R-squared: 0.07179, Adjusted R-squared: 0.0653
## F-statistic: 11.06 on 1 and 143 DF, p-value: 0.001121
mod2 <- lm(Index ~ hdi, data=data_noNA)
summary(mod2) # p-val=8.1e-13, R2=0.23##
## Call:
## lm(formula = Index ~ hdi, data = data_noNA)
##
## Residuals:
## Min 1Q Median 3Q Max
## -20.2142 -4.7412 -0.2563 5.0074 14.6670
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 40.807 2.892 14.111 < 2e-16 ***
## hdi 31.141 3.958 7.867 8.12e-13 ***
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 6.959 on 143 degrees of freedom
## Multiple R-squared: 0.3021, Adjusted R-squared: 0.2972
## F-statistic: 61.89 on 1 and 143 DF, p-value: 8.117e-13
mod3 <- lm(Index ~ log_coastal_pop, data=data_noNA)
summary(mod3) # p-val=0.23, R2=0.003##
## Call:
## lm(formula = Index ~ log_coastal_pop, data = data_noNA)
##
## Residuals:
## Min 1Q Median 3Q Max
## -22.2075 -4.8709 -0.0856 5.3353 17.4559
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 56.1961 5.7201 9.824 <2e-16 ***
## log_coastal_pop 0.4587 0.3773 1.216 0.226
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 8.287 on 143 degrees of freedom
## Multiple R-squared: 0.01023, Adjusted R-squared: 0.003308
## F-statistic: 1.478 on 1 and 143 DF, p-value: 0.2261
mod4 <- lm(Index ~ chi + hdi, data=data_noNA)
summary(mod4) # p-val=1.5e-15, R2=0.37##
## Call:
## lm(formula = Index ~ chi + hdi, data = data_noNA)
##
## Residuals:
## Min 1Q Median 3Q Max
## -19.1300 -3.9255 -0.1816 4.8247 16.2296
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 54.2779 4.1725 13.009 < 2e-16 ***
## chi -3.4737 0.8133 -4.271 3.54e-05 ***
## hdi 31.5437 3.7405 8.433 3.45e-14 ***
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 6.574 on 142 degrees of freedom
## Multiple R-squared: 0.3815, Adjusted R-squared: 0.3728
## F-statistic: 43.8 on 2 and 142 DF, p-value: 1.527e-15
mod5 <- lm(Index ~ log_coastal_pop + hdi, data=data_noNA)
summary(mod5) # p-val=6.9e-12, R2=0.29##
## Call:
## lm(formula = Index ~ log_coastal_pop + hdi, data = data_noNA)
##
## Residuals:
## Min 1Q Median 3Q Max
## -20.1978 -4.7416 0.0194 5.1816 14.7021
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 38.2751 5.3432 7.163 3.92e-11 ***
## log_coastal_pop 0.1803 0.3196 0.564 0.574
## hdi 30.8871 3.9932 7.735 1.74e-12 ***
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 6.976 on 142 degrees of freedom
## Multiple R-squared: 0.3036, Adjusted R-squared: 0.2938
## F-statistic: 30.96 on 2 and 142 DF, p-value: 6.945e-12
mod6 <- lm(Index ~ log_coastal_pop + chi, data=data_noNA)
summary(mod6) # p-val=0.0026, R2=0.068##
## Call:
## lm(formula = Index ~ log_coastal_pop + chi, data = data_noNA)
##
## Residuals:
## Min 1Q Median 3Q Max
## -21.5066 -5.0122 -0.3562 5.6404 19.2367
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 69.6533 6.8763 10.129 < 2e-16 ***
## log_coastal_pop 0.4246 0.3651 1.163 0.24672
## chi -3.2681 0.9917 -3.295 0.00124 **
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 8.016 on 142 degrees of freedom
## Multiple R-squared: 0.08055, Adjusted R-squared: 0.0676
## F-statistic: 6.22 on 2 and 142 DF, p-value: 0.002574
mod7 <- lm(Index ~ log_coastal_pop + chi + hdi, data=data_noNA)
summary(mod7) # p-val=1.04e-14, R2=0.37##
## Call:
## lm(formula = Index ~ log_coastal_pop + chi + hdi, data = data_noNA)
##
## Residuals:
## Min 1Q Median 3Q Max
## -19.1209 -4.0737 -0.4478 4.9092 16.2516
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 52.2643 6.0307 8.666 9.47e-15 ***
## log_coastal_pop 0.1401 0.3022 0.464 0.644
## chi -3.4619 0.8159 -4.243 3.98e-05 ***
## hdi 31.3452 3.7752 8.303 7.50e-14 ***
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 6.592 on 141 degrees of freedom
## Multiple R-squared: 0.3825, Adjusted R-squared: 0.3693
## F-statistic: 29.11 on 3 and 141 DF, p-value: 1.039e-14
# lowest AIC is model 4
AIC(mod1, mod2, mod3, mod4, mod5, mod6, mod7)## df AIC
## mod1 3 1019.4358
## mod2 3 978.0908
## mod3 3 1028.7468
## mod4 4 962.5650
## mod5 4 979.7662
## mod6 4 1020.0609
## mod7 5 964.3441
mod8 <- lm(chi ~ log_coastal_pop, data=data)
summary(mod8) # p-val=5e-08, R2=0.12##
## Call:
## lm(formula = chi ~ log_coastal_pop, data = data)
##
## Residuals:
## Min 1Q Median 3Q Max
## -2.37233 -0.34773 0.05438 0.45822 2.73513
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 3.16549 0.13164 24.046 < 2e-16 ***
## log_coastal_pop 0.05495 0.00973 5.648 5.01e-08 ***
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 0.6951 on 219 degrees of freedom
## Multiple R-squared: 0.1271, Adjusted R-squared: 0.1232
## F-statistic: 31.9 on 1 and 219 DF, p-value: 5.006e-08
mod9 <- lm(hdi ~ log_coastal_pop, data=data)
summary(mod9) # p-val=0.18, R2=0.006##
## Call:
## lm(formula = hdi ~ log_coastal_pop, data = data)
##
## Residuals:
## Min 1Q Median 3Q Max
## -0.30843 -0.10936 0.02832 0.11764 0.22860
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 0.580209 0.100829 5.754 5.09e-08 ***
## log_coastal_pop 0.009013 0.006651 1.355 0.178
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 0.1461 on 143 degrees of freedom
## (76 observations deleted due to missingness)
## Multiple R-squared: 0.01268, Adjusted R-squared: 0.005775
## F-statistic: 1.836 on 1 and 143 DF, p-value: 0.1775
## Plot HDI against OHI Score
p <- ggplot2::ggplot(data, aes(x=hdi,y=Index)) +
geom_point(shape=19, size=2, color="gray", alpha = 0.5) +
theme_bw() +
stat_smooth(method=lm, se=FALSE, color="black", size = 0.5)+
labs(x="Human Development Index", y="OHI index score")
plot(p) ## Warning: Removed 76 rows containing non-finite values (stat_smooth).
## Warning: Removed 76 rows containing missing values (geom_point).
ggsave("figures/OHIvsHDI.png", height=4, width=4.5)## Warning: Removed 76 rows containing non-finite values (stat_smooth).
## Warning: Removed 76 rows containing missing values (geom_point).
## Plot CHI against OHI Score
p <- ggplot2::ggplot(data, aes(y=Index, x=chi)) +
geom_point(shape=19, size=2, color="gray", alpha = 0.5) +
theme_bw() +
stat_smooth(method=lm, se=FALSE, color="black", size = 0.5)+
labs(x="Cumulative Human Impact", y="OHI index score")
plot(p) ggsave("figures/OHIvsCHI.png", height=4, width=4.5)
## Plot Coastal Population against OHI Score
p <- ggplot2::ggplot(data, aes(y=Index, x=log_coastal_pop)) +
geom_point(shape=19, size=2, color="gray", alpha = 0.5) +
theme_bw() +
stat_smooth(method=lm, se=FALSE, color="black", size = 0.5)+
labs(x="Coastal population (ln)", y="OHI index score")
plot(p) ggsave("figures/OHIvsCoastalPop.png", height=4, width=4.5)
## Plot Coastal Population against CHI
p <- ggplot2::ggplot(data, aes(x=chi, y=log_coastal_pop)) +
geom_point(shape=19, size=2, color="gray", alpha = 0.5) +
theme_bw() +
stat_smooth(method=lm, se=FALSE, color="black", size = 0.5)+
labs(x="Coastal population (ln)", y="Cumulative Human Impact")
plot(p) ggsave("figures/CHIvsCoastalPop.png", height=4, width=4.5)### prepare data:
data <- read.csv(sprintf('../OHI_final_formatted_scores_%s.csv', saveDate))
data <- data %>%
filter(dimension == "score") %>% # focus only on score data
filter(region_id != 0) %>% # this weighted mean includes high seas and Antarctica
filter(region_id <= 250) %>% # get rid of high seas regions
filter(region_id != 213) %>% # get rid of antarctica
filter(!is.na(value))data_lm <- data %>%
group_by(goal, region_id) %>%
do(mdl = lm(value ~ scenario, data = .))
#data.frame(glance(data_lm, mdl))
results_lm <- tidy(data_lm, mdl) %>%
ungroup() %>%
filter(term == "scenario") %>%
arrange(goal, estimate) %>%
left_join(goal_names) %>%
left_join(rgn_names) %>%
select(goal=goal, goal_long=long_goal, region_name = country, region_id, average_change_per_year = estimate, p.value) %>%
data.frame()## Warning in summary.lm(x): essentially perfect fit: summary may be
## unreliable
## Warning in summary.lm(x): essentially perfect fit: summary may be
## unreliable
## Warning in summary.lm(x): essentially perfect fit: summary may be
## unreliable
## Warning in summary.lm(x): essentially perfect fit: summary may be
## unreliable
## Warning in summary.lm(x): essentially perfect fit: summary may be
## unreliable
## Warning in summary.lm(x): essentially perfect fit: summary may be
## unreliable
## Warning in summary.lm(x): essentially perfect fit: summary may be
## unreliable
## Warning in summary.lm(x): essentially perfect fit: summary may be
## unreliable
## Warning in summary.lm(x): essentially perfect fit: summary may be
## unreliable
## Warning in summary.lm(x): essentially perfect fit: summary may be
## unreliable
## Warning in summary.lm(x): essentially perfect fit: summary may be
## unreliable
## Warning in summary.lm(x): essentially perfect fit: summary may be
## unreliable
## Warning in summary.lm(x): essentially perfect fit: summary may be
## unreliable
## Warning in summary.lm(x): essentially perfect fit: summary may be
## unreliable
## Warning in summary.lm(x): essentially perfect fit: summary may be
## unreliable
## Warning in summary.lm(x): essentially perfect fit: summary may be
## unreliable
## Warning in summary.lm(x): essentially perfect fit: summary may be
## unreliable
## Warning in summary.lm(x): essentially perfect fit: summary may be
## unreliable
## Warning in summary.lm(x): essentially perfect fit: summary may be
## unreliable
## Warning in summary.lm(x): essentially perfect fit: summary may be
## unreliable
## Warning in summary.lm(x): essentially perfect fit: summary may be
## unreliable
## Warning in summary.lm(x): essentially perfect fit: summary may be
## unreliable
## Warning in summary.lm(x): essentially perfect fit: summary may be
## unreliable
## Warning in summary.lm(x): essentially perfect fit: summary may be
## unreliable
## Warning in summary.lm(x): essentially perfect fit: summary may be
## unreliable
## Warning in summary.lm(x): essentially perfect fit: summary may be
## unreliable
## Warning in summary.lm(x): essentially perfect fit: summary may be
## unreliable
## Warning in summary.lm(x): essentially perfect fit: summary may be
## unreliable
## Warning in summary.lm(x): essentially perfect fit: summary may be
## unreliable
## Warning in summary.lm(x): essentially perfect fit: summary may be
## unreliable
## Warning in summary.lm(x): essentially perfect fit: summary may be
## unreliable
## Warning in summary.lm(x): essentially perfect fit: summary may be
## unreliable
## Warning in summary.lm(x): essentially perfect fit: summary may be
## unreliable
## Warning in summary.lm(x): essentially perfect fit: summary may be
## unreliable
## Warning in summary.lm(x): essentially perfect fit: summary may be
## unreliable
## Warning in summary.lm(x): essentially perfect fit: summary may be
## unreliable
## Warning in summary.lm(x): essentially perfect fit: summary may be
## unreliable
## Warning in summary.lm(x): essentially perfect fit: summary may be
## unreliable
## Warning in summary.lm(x): essentially perfect fit: summary may be
## unreliable
## Warning in summary.lm(x): essentially perfect fit: summary may be
## unreliable
## Warning in summary.lm(x): essentially perfect fit: summary may be
## unreliable
## Warning in summary.lm(x): essentially perfect fit: summary may be
## unreliable
## Warning in summary.lm(x): essentially perfect fit: summary may be
## unreliable
## Warning in summary.lm(x): essentially perfect fit: summary may be
## unreliable
## Warning in summary.lm(x): essentially perfect fit: summary may be
## unreliable
## Warning in summary.lm(x): essentially perfect fit: summary may be
## unreliable
## Warning in summary.lm(x): essentially perfect fit: summary may be
## unreliable
## Warning in summary.lm(x): essentially perfect fit: summary may be
## unreliable
## Warning in summary.lm(x): essentially perfect fit: summary may be
## unreliable
## Warning in summary.lm(x): essentially perfect fit: summary may be
## unreliable
## Warning in summary.lm(x): essentially perfect fit: summary may be
## unreliable
## Warning in summary.lm(x): essentially perfect fit: summary may be
## unreliable
## Warning in summary.lm(x): essentially perfect fit: summary may be
## unreliable
## Warning in summary.lm(x): essentially perfect fit: summary may be
## unreliable
## Warning in summary.lm(x): essentially perfect fit: summary may be
## unreliable
## Warning in summary.lm(x): essentially perfect fit: summary may be
## unreliable
## Warning in summary.lm(x): essentially perfect fit: summary may be
## unreliable
## Warning in summary.lm(x): essentially perfect fit: summary may be
## unreliable
## Warning in summary.lm(x): essentially perfect fit: summary may be
## unreliable
## Warning in summary.lm(x): essentially perfect fit: summary may be
## unreliable
## Warning in summary.lm(x): essentially perfect fit: summary may be
## unreliable
## Warning in summary.lm(x): essentially perfect fit: summary may be
## unreliable
## Warning in summary.lm(x): essentially perfect fit: summary may be
## unreliable
## Warning in summary.lm(x): essentially perfect fit: summary may be
## unreliable
## Warning in summary.lm(x): essentially perfect fit: summary may be
## unreliable
## Warning in summary.lm(x): essentially perfect fit: summary may be
## unreliable
## Warning in summary.lm(x): essentially perfect fit: summary may be
## unreliable
## Warning in summary.lm(x): essentially perfect fit: summary may be
## unreliable
## Warning in summary.lm(x): essentially perfect fit: summary may be
## unreliable
## Warning in summary.lm(x): essentially perfect fit: summary may be
## unreliable
## Warning in summary.lm(x): essentially perfect fit: summary may be
## unreliable
## Warning in summary.lm(x): essentially perfect fit: summary may be
## unreliable
## Warning in summary.lm(x): essentially perfect fit: summary may be
## unreliable
## Warning in summary.lm(x): essentially perfect fit: summary may be
## unreliable
## Warning in summary.lm(x): essentially perfect fit: summary may be
## unreliable
## Warning in summary.lm(x): essentially perfect fit: summary may be
## unreliable
## Warning in summary.lm(x): essentially perfect fit: summary may be
## unreliable
## Warning in summary.lm(x): essentially perfect fit: summary may be
## unreliable
## Warning in summary.lm(x): essentially perfect fit: summary may be
## unreliable
## Warning in summary.lm(x): essentially perfect fit: summary may be
## unreliable
## Warning in summary.lm(x): essentially perfect fit: summary may be
## unreliable
## Warning in summary.lm(x): essentially perfect fit: summary may be
## unreliable
## Warning in summary.lm(x): essentially perfect fit: summary may be
## unreliable
## Warning in summary.lm(x): essentially perfect fit: summary may be
## unreliable
## Warning in summary.lm(x): essentially perfect fit: summary may be
## unreliable
## Warning in summary.lm(x): essentially perfect fit: summary may be
## unreliable
## Warning in summary.lm(x): essentially perfect fit: summary may be
## unreliable
## Warning in summary.lm(x): essentially perfect fit: summary may be
## unreliable
## Warning in summary.lm(x): essentially perfect fit: summary may be
## unreliable
## Warning in summary.lm(x): essentially perfect fit: summary may be
## unreliable
## Warning in summary.lm(x): essentially perfect fit: summary may be
## unreliable
## Warning in summary.lm(x): essentially perfect fit: summary may be
## unreliable
## Warning in summary.lm(x): essentially perfect fit: summary may be
## unreliable
## Warning in summary.lm(x): essentially perfect fit: summary may be
## unreliable
## Warning in summary.lm(x): essentially perfect fit: summary may be
## unreliable
## Warning in summary.lm(x): essentially perfect fit: summary may be
## unreliable
## Warning in summary.lm(x): essentially perfect fit: summary may be
## unreliable
## Warning in summary.lm(x): essentially perfect fit: summary may be
## unreliable
## Warning in summary.lm(x): essentially perfect fit: summary may be
## unreliable
## Warning in summary.lm(x): essentially perfect fit: summary may be
## unreliable
## Warning in summary.lm(x): essentially perfect fit: summary may be
## unreliable
## Warning in summary.lm(x): essentially perfect fit: summary may be
## unreliable
## Warning in summary.lm(x): essentially perfect fit: summary may be
## unreliable
## Warning in summary.lm(x): essentially perfect fit: summary may be
## unreliable
## Warning in summary.lm(x): essentially perfect fit: summary may be
## unreliable
## Warning in summary.lm(x): essentially perfect fit: summary may be
## unreliable
## Warning in summary.lm(x): essentially perfect fit: summary may be
## unreliable
## Warning in summary.lm(x): essentially perfect fit: summary may be
## unreliable
## Warning in summary.lm(x): essentially perfect fit: summary may be
## unreliable
## Warning in summary.lm(x): essentially perfect fit: summary may be
## unreliable
## Warning in summary.lm(x): essentially perfect fit: summary may be
## unreliable
## Warning in summary.lm(x): essentially perfect fit: summary may be
## unreliable
## Warning in summary.lm(x): essentially perfect fit: summary may be
## unreliable
## Warning in summary.lm(x): essentially perfect fit: summary may be
## unreliable
## Warning in summary.lm(x): essentially perfect fit: summary may be
## unreliable
## Warning in summary.lm(x): essentially perfect fit: summary may be
## unreliable
## Warning in summary.lm(x): essentially perfect fit: summary may be
## unreliable
## Warning in summary.lm(x): essentially perfect fit: summary may be
## unreliable
## Warning in summary.lm(x): essentially perfect fit: summary may be
## unreliable
## Warning in summary.lm(x): essentially perfect fit: summary may be
## unreliable
## Warning in summary.lm(x): essentially perfect fit: summary may be
## unreliable
## Warning in summary.lm(x): essentially perfect fit: summary may be
## unreliable
## Warning in summary.lm(x): essentially perfect fit: summary may be
## unreliable
## Warning in summary.lm(x): essentially perfect fit: summary may be
## unreliable
## Warning in summary.lm(x): essentially perfect fit: summary may be
## unreliable
## Warning in summary.lm(x): essentially perfect fit: summary may be
## unreliable
## Warning in summary.lm(x): essentially perfect fit: summary may be
## unreliable
## Warning in summary.lm(x): essentially perfect fit: summary may be
## unreliable
## Warning in summary.lm(x): essentially perfect fit: summary may be
## unreliable
## Warning in summary.lm(x): essentially perfect fit: summary may be
## unreliable
## Warning in summary.lm(x): essentially perfect fit: summary may be
## unreliable
## Warning in summary.lm(x): essentially perfect fit: summary may be
## unreliable
## Warning in summary.lm(x): essentially perfect fit: summary may be
## unreliable
## Warning in summary.lm(x): essentially perfect fit: summary may be
## unreliable
## Warning in summary.lm(x): essentially perfect fit: summary may be
## unreliable
## Warning in summary.lm(x): essentially perfect fit: summary may be
## unreliable
## Warning in summary.lm(x): essentially perfect fit: summary may be
## unreliable
## Warning in summary.lm(x): essentially perfect fit: summary may be
## unreliable
## Warning in summary.lm(x): essentially perfect fit: summary may be
## unreliable
## Warning in summary.lm(x): essentially perfect fit: summary may be
## unreliable
## Warning in summary.lm(x): essentially perfect fit: summary may be
## unreliable
## Warning in summary.lm(x): essentially perfect fit: summary may be
## unreliable
## Warning in summary.lm(x): essentially perfect fit: summary may be
## unreliable
## Warning in summary.lm(x): essentially perfect fit: summary may be
## unreliable
## Warning in summary.lm(x): essentially perfect fit: summary may be
## unreliable
## Warning in summary.lm(x): essentially perfect fit: summary may be
## unreliable
## Warning in summary.lm(x): essentially perfect fit: summary may be
## unreliable
## Warning in summary.lm(x): essentially perfect fit: summary may be
## unreliable
## Warning in summary.lm(x): essentially perfect fit: summary may be
## unreliable
## Warning in summary.lm(x): essentially perfect fit: summary may be
## unreliable
## Warning in summary.lm(x): essentially perfect fit: summary may be
## unreliable
## Warning in summary.lm(x): essentially perfect fit: summary may be
## unreliable
## Warning in summary.lm(x): essentially perfect fit: summary may be
## unreliable
## Warning in summary.lm(x): essentially perfect fit: summary may be
## unreliable
## Warning in summary.lm(x): essentially perfect fit: summary may be
## unreliable
## Warning in summary.lm(x): essentially perfect fit: summary may be
## unreliable
## Warning in summary.lm(x): essentially perfect fit: summary may be
## unreliable
## Warning in summary.lm(x): essentially perfect fit: summary may be
## unreliable
## Warning in summary.lm(x): essentially perfect fit: summary may be
## unreliable
## Warning in summary.lm(x): essentially perfect fit: summary may be
## unreliable
## Warning in summary.lm(x): essentially perfect fit: summary may be
## unreliable
## Warning in summary.lm(x): essentially perfect fit: summary may be
## unreliable
## Warning in summary.lm(x): essentially perfect fit: summary may be
## unreliable
## Warning in summary.lm(x): essentially perfect fit: summary may be
## unreliable
## Warning in summary.lm(x): essentially perfect fit: summary may be
## unreliable
## Warning in summary.lm(x): essentially perfect fit: summary may be
## unreliable
## Warning in summary.lm(x): essentially perfect fit: summary may be
## unreliable
## Warning in summary.lm(x): essentially perfect fit: summary may be
## unreliable
## Warning in summary.lm(x): essentially perfect fit: summary may be
## unreliable
## Warning in summary.lm(x): essentially perfect fit: summary may be
## unreliable
## Warning in summary.lm(x): essentially perfect fit: summary may be
## unreliable
## Warning in summary.lm(x): essentially perfect fit: summary may be
## unreliable
## Warning in summary.lm(x): essentially perfect fit: summary may be
## unreliable
## Warning in summary.lm(x): essentially perfect fit: summary may be
## unreliable
## Warning in summary.lm(x): essentially perfect fit: summary may be
## unreliable
## Warning in summary.lm(x): essentially perfect fit: summary may be
## unreliable
## Warning in summary.lm(x): essentially perfect fit: summary may be
## unreliable
## Warning in summary.lm(x): essentially perfect fit: summary may be
## unreliable
## Warning in summary.lm(x): essentially perfect fit: summary may be
## unreliable
## Warning in summary.lm(x): essentially perfect fit: summary may be
## unreliable
## Warning in summary.lm(x): essentially perfect fit: summary may be
## unreliable
## Warning in summary.lm(x): essentially perfect fit: summary may be
## unreliable
## Warning in summary.lm(x): essentially perfect fit: summary may be
## unreliable
## Warning in summary.lm(x): essentially perfect fit: summary may be
## unreliable
## Warning in summary.lm(x): essentially perfect fit: summary may be
## unreliable
## Warning in summary.lm(x): essentially perfect fit: summary may be
## unreliable
## Warning in summary.lm(x): essentially perfect fit: summary may be
## unreliable
## Warning in summary.lm(x): essentially perfect fit: summary may be
## unreliable
## Warning in summary.lm(x): essentially perfect fit: summary may be
## unreliable
## Warning in summary.lm(x): essentially perfect fit: summary may be
## unreliable
## Warning in summary.lm(x): essentially perfect fit: summary may be
## unreliable
## Warning in summary.lm(x): essentially perfect fit: summary may be
## unreliable
## Warning in summary.lm(x): essentially perfect fit: summary may be
## unreliable
## Warning in summary.lm(x): essentially perfect fit: summary may be
## unreliable
## Warning in summary.lm(x): essentially perfect fit: summary may be
## unreliable
## Warning in summary.lm(x): essentially perfect fit: summary may be
## unreliable
## Warning in summary.lm(x): essentially perfect fit: summary may be
## unreliable
## Warning in summary.lm(x): essentially perfect fit: summary may be
## unreliable
## Warning in summary.lm(x): essentially perfect fit: summary may be
## unreliable
## Warning in summary.lm(x): essentially perfect fit: summary may be
## unreliable
## Warning in summary.lm(x): essentially perfect fit: summary may be
## unreliable
## Warning in summary.lm(x): essentially perfect fit: summary may be
## unreliable
## Warning in summary.lm(x): essentially perfect fit: summary may be
## unreliable
## Warning in summary.lm(x): essentially perfect fit: summary may be
## unreliable
## Warning in summary.lm(x): essentially perfect fit: summary may be
## unreliable
## Warning in summary.lm(x): essentially perfect fit: summary may be
## unreliable
## Warning in summary.lm(x): essentially perfect fit: summary may be
## unreliable
## Warning in summary.lm(x): essentially perfect fit: summary may be
## unreliable
## Warning in summary.lm(x): essentially perfect fit: summary may be
## unreliable
## Warning in summary.lm(x): essentially perfect fit: summary may be
## unreliable
## Warning in summary.lm(x): essentially perfect fit: summary may be
## unreliable
## Warning in summary.lm(x): essentially perfect fit: summary may be
## unreliable
## Warning in summary.lm(x): essentially perfect fit: summary may be
## unreliable
## Warning in summary.lm(x): essentially perfect fit: summary may be
## unreliable
## Warning in summary.lm(x): essentially perfect fit: summary may be
## unreliable
## Warning in summary.lm(x): essentially perfect fit: summary may be
## unreliable
## Warning in summary.lm(x): essentially perfect fit: summary may be
## unreliable
## Warning in summary.lm(x): essentially perfect fit: summary may be
## unreliable
## Warning in summary.lm(x): essentially perfect fit: summary may be
## unreliable
## Warning in summary.lm(x): essentially perfect fit: summary may be
## unreliable
## Warning in summary.lm(x): essentially perfect fit: summary may be
## unreliable
## Warning in summary.lm(x): essentially perfect fit: summary may be
## unreliable
## Warning in summary.lm(x): essentially perfect fit: summary may be
## unreliable
## Warning in summary.lm(x): essentially perfect fit: summary may be
## unreliable
## Warning in summary.lm(x): essentially perfect fit: summary may be
## unreliable
## Warning in summary.lm(x): essentially perfect fit: summary may be
## unreliable
## Warning in summary.lm(x): essentially perfect fit: summary may be
## unreliable
## Warning in summary.lm(x): essentially perfect fit: summary may be
## unreliable
## Warning in summary.lm(x): essentially perfect fit: summary may be
## unreliable
## Warning in summary.lm(x): essentially perfect fit: summary may be
## unreliable
## Warning in summary.lm(x): essentially perfect fit: summary may be
## unreliable
## Warning in summary.lm(x): essentially perfect fit: summary may be
## unreliable
## Warning in summary.lm(x): essentially perfect fit: summary may be
## unreliable
## Warning in summary.lm(x): essentially perfect fit: summary may be
## unreliable
## Warning in summary.lm(x): essentially perfect fit: summary may be
## unreliable
## Warning in summary.lm(x): essentially perfect fit: summary may be
## unreliable
## Warning in summary.lm(x): essentially perfect fit: summary may be
## unreliable
## Warning in summary.lm(x): essentially perfect fit: summary may be
## unreliable
## Warning in summary.lm(x): essentially perfect fit: summary may be
## unreliable
## Warning in summary.lm(x): essentially perfect fit: summary may be
## unreliable
## Warning in summary.lm(x): essentially perfect fit: summary may be
## unreliable
## Warning in summary.lm(x): essentially perfect fit: summary may be
## unreliable
## Warning in summary.lm(x): essentially perfect fit: summary may be
## unreliable
## Warning in summary.lm(x): essentially perfect fit: summary may be
## unreliable
## Warning in summary.lm(x): essentially perfect fit: summary may be
## unreliable
## Warning in summary.lm(x): essentially perfect fit: summary may be
## unreliable
## Warning in summary.lm(x): essentially perfect fit: summary may be
## unreliable
## Warning in summary.lm(x): essentially perfect fit: summary may be
## unreliable
## Warning in summary.lm(x): essentially perfect fit: summary may be
## unreliable
## Warning in summary.lm(x): essentially perfect fit: summary may be
## unreliable
## Warning in summary.lm(x): essentially perfect fit: summary may be
## unreliable
## Warning in summary.lm(x): essentially perfect fit: summary may be
## unreliable
## Warning in summary.lm(x): essentially perfect fit: summary may be
## unreliable
## Warning in summary.lm(x): essentially perfect fit: summary may be
## unreliable
## Warning in summary.lm(x): essentially perfect fit: summary may be
## unreliable
## Warning in summary.lm(x): essentially perfect fit: summary may be
## unreliable
## Warning in summary.lm(x): essentially perfect fit: summary may be
## unreliable
## Warning in summary.lm(x): essentially perfect fit: summary may be
## unreliable
## Warning in summary.lm(x): essentially perfect fit: summary may be
## unreliable
## Warning in summary.lm(x): essentially perfect fit: summary may be
## unreliable
## Warning in summary.lm(x): essentially perfect fit: summary may be
## unreliable
## Warning in summary.lm(x): essentially perfect fit: summary may be
## unreliable
## Warning in summary.lm(x): essentially perfect fit: summary may be
## unreliable
## Warning in summary.lm(x): essentially perfect fit: summary may be
## unreliable
## Warning in summary.lm(x): essentially perfect fit: summary may be
## unreliable
## Warning in summary.lm(x): essentially perfect fit: summary may be
## unreliable
## Warning in summary.lm(x): essentially perfect fit: summary may be
## unreliable
## Warning in summary.lm(x): essentially perfect fit: summary may be
## unreliable
## Warning in summary.lm(x): essentially perfect fit: summary may be
## unreliable
## Warning in summary.lm(x): essentially perfect fit: summary may be
## unreliable
## Warning in summary.lm(x): essentially perfect fit: summary may be
## unreliable
## Warning in summary.lm(x): essentially perfect fit: summary may be
## unreliable
## Warning in summary.lm(x): essentially perfect fit: summary may be
## unreliable
## Warning in summary.lm(x): essentially perfect fit: summary may be
## unreliable
## Warning in summary.lm(x): essentially perfect fit: summary may be
## unreliable
## Warning in summary.lm(x): essentially perfect fit: summary may be
## unreliable
## Warning in summary.lm(x): essentially perfect fit: summary may be
## unreliable
## Warning in summary.lm(x): essentially perfect fit: summary may be
## unreliable
## Warning in summary.lm(x): essentially perfect fit: summary may be
## unreliable
## Warning in summary.lm(x): essentially perfect fit: summary may be
## unreliable
## Warning in summary.lm(x): essentially perfect fit: summary may be
## unreliable
## Warning in summary.lm(x): essentially perfect fit: summary may be
## unreliable
## Warning in summary.lm(x): essentially perfect fit: summary may be
## unreliable
## Warning in summary.lm(x): essentially perfect fit: summary may be
## unreliable
## Warning in summary.lm(x): essentially perfect fit: summary may be
## unreliable
## Warning in summary.lm(x): essentially perfect fit: summary may be
## unreliable
## Warning in summary.lm(x): essentially perfect fit: summary may be
## unreliable
## Warning in summary.lm(x): essentially perfect fit: summary may be
## unreliable
## Warning in summary.lm(x): essentially perfect fit: summary may be
## unreliable
## Warning in summary.lm(x): essentially perfect fit: summary may be
## unreliable
## Warning in summary.lm(x): essentially perfect fit: summary may be
## unreliable
## Warning in summary.lm(x): essentially perfect fit: summary may be
## unreliable
## Warning in summary.lm(x): essentially perfect fit: summary may be
## unreliable
## Warning in summary.lm(x): essentially perfect fit: summary may be
## unreliable
## Warning in summary.lm(x): essentially perfect fit: summary may be
## unreliable
## Warning in summary.lm(x): essentially perfect fit: summary may be
## unreliable
## Warning in summary.lm(x): essentially perfect fit: summary may be
## unreliable
## Warning in summary.lm(x): essentially perfect fit: summary may be
## unreliable
## Warning in summary.lm(x): essentially perfect fit: summary may be
## unreliable
## Warning in summary.lm(x): essentially perfect fit: summary may be
## unreliable
## Warning in summary.lm(x): essentially perfect fit: summary may be
## unreliable
## Warning in summary.lm(x): essentially perfect fit: summary may be
## unreliable
## Warning in summary.lm(x): essentially perfect fit: summary may be
## unreliable
## Warning in summary.lm(x): essentially perfect fit: summary may be
## unreliable
## Warning in summary.lm(x): essentially perfect fit: summary may be
## unreliable
## Warning in summary.lm(x): essentially perfect fit: summary may be
## unreliable
## Warning in summary.lm(x): essentially perfect fit: summary may be
## unreliable
## Warning in summary.lm(x): essentially perfect fit: summary may be
## unreliable
## Warning in summary.lm(x): essentially perfect fit: summary may be
## unreliable
## Warning in summary.lm(x): essentially perfect fit: summary may be
## unreliable
## Warning in summary.lm(x): essentially perfect fit: summary may be
## unreliable
## Warning in summary.lm(x): essentially perfect fit: summary may be
## unreliable
## Warning in summary.lm(x): essentially perfect fit: summary may be
## unreliable
## Warning in summary.lm(x): essentially perfect fit: summary may be
## unreliable
## Warning in summary.lm(x): essentially perfect fit: summary may be
## unreliable
## Warning in summary.lm(x): essentially perfect fit: summary may be
## unreliable
## Warning in summary.lm(x): essentially perfect fit: summary may be
## unreliable
## Warning in summary.lm(x): essentially perfect fit: summary may be
## unreliable
## Warning in summary.lm(x): essentially perfect fit: summary may be
## unreliable
## Warning in summary.lm(x): essentially perfect fit: summary may be
## unreliable
## Warning in summary.lm(x): essentially perfect fit: summary may be
## unreliable
## Warning in summary.lm(x): essentially perfect fit: summary may be
## unreliable
## Warning in summary.lm(x): essentially perfect fit: summary may be
## unreliable
## Warning in summary.lm(x): essentially perfect fit: summary may be
## unreliable
## Warning in summary.lm(x): essentially perfect fit: summary may be
## unreliable
## Warning in summary.lm(x): essentially perfect fit: summary may be
## unreliable
## Warning in summary.lm(x): essentially perfect fit: summary may be
## unreliable
## Warning in summary.lm(x): essentially perfect fit: summary may be
## unreliable
## Warning in summary.lm(x): essentially perfect fit: summary may be
## unreliable
## Warning in summary.lm(x): essentially perfect fit: summary may be
## unreliable
## Warning in summary.lm(x): essentially perfect fit: summary may be
## unreliable
## Warning in summary.lm(x): essentially perfect fit: summary may be
## unreliable
## Warning in summary.lm(x): essentially perfect fit: summary may be
## unreliable
## Warning in summary.lm(x): essentially perfect fit: summary may be
## unreliable
## Warning in summary.lm(x): essentially perfect fit: summary may be
## unreliable
## Warning in summary.lm(x): essentially perfect fit: summary may be
## unreliable
## Warning in summary.lm(x): essentially perfect fit: summary may be
## unreliable
## Warning in summary.lm(x): essentially perfect fit: summary may be
## unreliable
## Warning in summary.lm(x): essentially perfect fit: summary may be
## unreliable
## Warning in summary.lm(x): essentially perfect fit: summary may be
## unreliable
## Warning in summary.lm(x): essentially perfect fit: summary may be
## unreliable
## Warning in summary.lm(x): essentially perfect fit: summary may be
## unreliable
## Warning in summary.lm(x): essentially perfect fit: summary may be
## unreliable
## Warning in summary.lm(x): essentially perfect fit: summary may be
## unreliable
## Warning in summary.lm(x): essentially perfect fit: summary may be
## unreliable
## Warning in summary.lm(x): essentially perfect fit: summary may be
## unreliable
## Warning in summary.lm(x): essentially perfect fit: summary may be
## unreliable
## Warning in summary.lm(x): essentially perfect fit: summary may be
## unreliable
## Warning in summary.lm(x): essentially perfect fit: summary may be
## unreliable
## Warning in summary.lm(x): essentially perfect fit: summary may be
## unreliable
## Warning in summary.lm(x): essentially perfect fit: summary may be
## unreliable
## Warning in summary.lm(x): essentially perfect fit: summary may be
## unreliable
## Warning in summary.lm(x): essentially perfect fit: summary may be
## unreliable
## Warning in summary.lm(x): essentially perfect fit: summary may be
## unreliable
## Warning in summary.lm(x): essentially perfect fit: summary may be
## unreliable
## Warning in summary.lm(x): essentially perfect fit: summary may be
## unreliable
## Warning in summary.lm(x): essentially perfect fit: summary may be
## unreliable
## Warning in summary.lm(x): essentially perfect fit: summary may be
## unreliable
## Warning in summary.lm(x): essentially perfect fit: summary may be
## unreliable
## Warning in summary.lm(x): essentially perfect fit: summary may be
## unreliable
## Warning in summary.lm(x): essentially perfect fit: summary may be
## unreliable
## Warning in summary.lm(x): essentially perfect fit: summary may be
## unreliable
## Warning in summary.lm(x): essentially perfect fit: summary may be
## unreliable
## Warning in summary.lm(x): essentially perfect fit: summary may be
## unreliable
## Warning in summary.lm(x): essentially perfect fit: summary may be
## unreliable
## Warning in summary.lm(x): essentially perfect fit: summary may be
## unreliable
## Warning in summary.lm(x): essentially perfect fit: summary may be
## unreliable
## Warning in summary.lm(x): essentially perfect fit: summary may be
## unreliable
## Warning in summary.lm(x): essentially perfect fit: summary may be
## unreliable
## Warning in summary.lm(x): essentially perfect fit: summary may be
## unreliable
## Warning in summary.lm(x): essentially perfect fit: summary may be
## unreliable
## Warning in summary.lm(x): essentially perfect fit: summary may be
## unreliable
## Warning in summary.lm(x): essentially perfect fit: summary may be
## unreliable
## Warning in summary.lm(x): essentially perfect fit: summary may be
## unreliable
## Warning in summary.lm(x): essentially perfect fit: summary may be
## unreliable
## Warning in summary.lm(x): essentially perfect fit: summary may be
## unreliable
## Warning in summary.lm(x): essentially perfect fit: summary may be
## unreliable
## Warning in summary.lm(x): essentially perfect fit: summary may be
## unreliable
## Warning in summary.lm(x): essentially perfect fit: summary may be
## unreliable
## Warning in summary.lm(x): essentially perfect fit: summary may be
## unreliable
## Warning in summary.lm(x): essentially perfect fit: summary may be
## unreliable
## Warning in summary.lm(x): essentially perfect fit: summary may be
## unreliable
## Warning in summary.lm(x): essentially perfect fit: summary may be
## unreliable
## Warning in summary.lm(x): essentially perfect fit: summary may be
## unreliable
## Warning in summary.lm(x): essentially perfect fit: summary may be
## unreliable
## Warning in summary.lm(x): essentially perfect fit: summary may be
## unreliable
## Warning in summary.lm(x): essentially perfect fit: summary may be
## unreliable
## Warning in summary.lm(x): essentially perfect fit: summary may be
## unreliable
## Warning in summary.lm(x): essentially perfect fit: summary may be
## unreliable
## Warning in summary.lm(x): essentially perfect fit: summary may be
## unreliable
## Warning in summary.lm(x): essentially perfect fit: summary may be
## unreliable
## Warning in summary.lm(x): essentially perfect fit: summary may be
## unreliable
## Warning in summary.lm(x): essentially perfect fit: summary may be
## unreliable
## Warning in summary.lm(x): essentially perfect fit: summary may be
## unreliable
## Warning in summary.lm(x): essentially perfect fit: summary may be
## unreliable
## Warning in summary.lm(x): essentially perfect fit: summary may be
## unreliable
## Warning in summary.lm(x): essentially perfect fit: summary may be
## unreliable
## Warning in summary.lm(x): essentially perfect fit: summary may be
## unreliable
## Warning in summary.lm(x): essentially perfect fit: summary may be
## unreliable
## Warning in summary.lm(x): essentially perfect fit: summary may be
## unreliable
## Warning in summary.lm(x): essentially perfect fit: summary may be
## unreliable
## Warning in summary.lm(x): essentially perfect fit: summary may be
## unreliable
## Warning in summary.lm(x): essentially perfect fit: summary may be
## unreliable
## Warning in summary.lm(x): essentially perfect fit: summary may be
## unreliable
## Warning in summary.lm(x): essentially perfect fit: summary may be
## unreliable
## Warning in summary.lm(x): essentially perfect fit: summary may be
## unreliable
## Warning in summary.lm(x): essentially perfect fit: summary may be
## unreliable
## Warning in summary.lm(x): essentially perfect fit: summary may be
## unreliable
## Warning in summary.lm(x): essentially perfect fit: summary may be
## unreliable
## Warning in summary.lm(x): essentially perfect fit: summary may be
## unreliable
## Warning in summary.lm(x): essentially perfect fit: summary may be
## unreliable
## Warning in summary.lm(x): essentially perfect fit: summary may be
## unreliable
## Warning in summary.lm(x): essentially perfect fit: summary may be
## unreliable
## Warning in summary.lm(x): essentially perfect fit: summary may be
## unreliable
## Joining, by = "goal"
## Joining, by = "region_id"
#
# weights <- read.csv("../../eez2016/layers/rgn_area.csv") %>%
# select(region_id=rgn_id, area_km2)
#
# results_lm <- results_lm %>%
# left_join(weights, by="region_id")
#
# summary_lm <- results_lm %>%
# group_by(goal, goal_long) %>%
# summarize(mean=mean(average_change_per_year),
# mean_wt=weighted.mean(average_change_per_year, w=area_km2))
# color coded histogram of trends
trends_hist <- results_lm %>%
filter(goal=="Index") %>%
arrange(average_change_per_year)
values <- brewer.pal(11, "RdYlBu")
values <- colorRampPalette(values, space = 'Lab')(13)[2:13]
col.brks <- c(-100, -5, -4, -3, -2, -1, 0, 1, 2, 3, 4, 5, 100)
trends_hist$colors <- cut(trends_hist$average_change_per_year, breaks=col.brks, include.lowest=TRUE, labels=values)
cols <- as.character(unique(trends_hist$colors))
g <- ggplot(trends_hist, aes(x=average_change_per_year)) +
geom_histogram(aes(fill=colors), bins=25, center=1.01, col="gray") +
scale_fill_manual("", breaks=colors, values=cols, guide=FALSE) +
labs(y="Number of regions", x="Average yearly change") +
#geom_vline(xintercept=0, color="red") +
theme_bw()
print(g)ggsave("figures/trend_histogram_color.tiff", width=4, height=3, units=c("in"), dpi=300)data_scores <- data %>%
filter(goal=="Index") %>%
filter(scenario == 2018)
reds <- colorRampPalette(c("#A50026", "#D73027", "#F46D43", "#FDAE61", "#FEE090"), space="Lab")(66)
blues <- colorRampPalette(c("#E0F3F8", "#ABD9E9", "#74ADD1", "#4575B4", "#313695"), space="Lab")(35)
colors <- c(reds, blues)
col.brks <- seq(0,100, by=1)
col.assign <- cut(col.brks, breaks=col.brks, include.lowest = TRUE)
colors_df <- data.frame(colors_plot=colors, col.assign)
colors_df$col.assign <- as.character(colors_df$col.assign)
data_scores$col.assign <- cut(data_scores$value, breaks=col.brks, include.lowest=TRUE)
data_scores$col.assign <- as.character(data_scores$col.assign)
data_scores <- left_join(data_scores, colors_df, by="col.assign") %>%
mutate(colors_plot = as.character(colors_plot)) %>%
arrange(value)
cols <- as.character(unique(data_scores$colors_plot))
g <- ggplot(data_scores, aes(x=value)) +
#geom_histogram(aes(fill=colors), bins=25, center=1.01, col="gray") +
geom_histogram(aes(fill=col.assign), bins=31) +
scale_fill_manual("", values=cols, guide=FALSE) +
xlim(c(0, 100)) +
labs(y="Number of regions", x="Index score") +
theme_bw()
print(g)ggsave("figures/score_histogram_color.tiff", width=4, height=3, units=c("in"), dpi=300)
ggsave("figures/score_histogram_color.png", width=4, height=3, units=c("in"), dpi=300)